home *** CD-ROM | disk | FTP | other *** search
/ Software USA 4 #11 / Software USA Volume 4.11.iso / mac / Educational / mac06 / include / syscalls.h next >
Encoding:
C/C++ Source or Header  |  1998-07-23  |  1.7 KB  |  113 lines  |  [TEXT/SPM ]

  1. /* mac06©1997,98 by HNS/DSITRI hns@computer.org
  2. ** syscalls.h
  3. **
  4. ** 02.01.1998    HNS        MKDIR, RMDIR added
  5. */
  6.  
  7. #pragma once
  8.  
  9. enum {
  10.     EXIT=1,
  11.     MOUNT,
  12.     READ,
  13.     WRITE,
  14.     OPEN,
  15.     ACCESS,
  16.     UTIME,
  17.     UNLINK,
  18.     CLOSE,
  19.     LAUNCH=10,
  20.     GETUID,
  21.     GETGID,
  22.     GETPID,
  23.     GETPPID,
  24.     CHMOD,
  25.     CHDIR,
  26.     CHROOT,
  27.     STAT,
  28.     DUP,
  29.     DUP2=20,
  30.     LSEEK,
  31.     SLEEP,
  32.     SIGNAL,
  33.     KILL,
  34.     FSYNC,
  35.     FSTAT,
  36.     FCNTL,
  37.     IOCTL,
  38.     LINK,
  39.     READDIR=30,
  40.     SYNC,
  41.     WAITPID,
  42.     ACCEPT,
  43.     BIND,
  44.     CONNECT,
  45.     GETPEERNAME,
  46.     GETSOCKNAME,
  47.     GETSOCKOPT,
  48.     LISTEN,
  49.     RECV=40,
  50.     RECVFROM,
  51.     SELECT,
  52.     SEND,
  53.     SENDTO,
  54.     SETSOCKOPT,
  55.     SHUTDOWN,
  56.     SOCKET,
  57.     PIPE,
  58.     TIME,
  59.     UNAME=50,
  60.     TIMES,
  61.     ALARM,
  62.     PAUSE,
  63.     PTRACE,
  64.     MKDIR,
  65.     RMDIR,
  66.     CHOWN,
  67.     UMASK,
  68.     TCDRAIN,
  69.     TCFLOW=60,
  70.     TCFLUSH,
  71.     TCSENDBREAK,
  72.     TCGETATTR,
  73.     TCSETATTR,
  74.     TTYNAME,
  75.     NICE,
  76.     SYMLINK,
  77.     READLINK,
  78.     UMOUNT,
  79.     GETTIMEOFDAY=70,
  80.     /* nonstandard */
  81.     GETARGV=100,    /* get pointers to original argv, envp */
  82.     REALLOC,    /* allocate memory block */
  83.     RESOLVEBYADDR,    /* DNS resolver */
  84.     RESOLVEBYNAME,    /* DNS resolver */
  85.     NUMSYSCALLS
  86.     /* additional */
  87.     };
  88.  
  89. struct __syscall
  90.     {
  91.     char psn[8];    /* process manager id data */
  92.     long code;
  93.     long arg1, arg2, arg3, arg4, arg5, arg6;
  94.     };
  95.  
  96. struct __syscall_ret
  97.     { /* return block */
  98.     long ret;    /* return value */
  99.     long errno;    /* error number */
  100.     };
  101.  
  102. struct __syscall_sig
  103.     { /* signal block */
  104.     void (*sigfunc)(long);        /* signal handler to be called */
  105.     long sig;    /* signal number */
  106.     };
  107.  
  108. #define SIGNATURE        'HNmx'
  109. #define SIGNATURE_CALL    'sysc'
  110. #define SIGNATURE_RET    'sysr'
  111. #define SIGNATURE_SIG    'sign'
  112.  
  113. /* EOF */